Initializes a new ApplyVoiLookupTableCommand with explicit parameters.
Supported in Silverlight, Windows Phone 7
Syntax
Parameters
- lookupTableDescriptor
- Structure describing the LookupTable. The following members are used:
Value |
Meaning |
FirstStoredPixelValueMapped |
Indicates the first index whose remapped value is stored in the LookupTable. All image display LookupTable entries which are less than this value will be remapped to LookupTable[0]. |
- lookupTable
- Array of short values which contains the lookup table. Its length determines the number of entries. All the pixels that are greater than FirstStoredPixelValueMapped + (LookupTable->Length) will be set to the last entry in the LookupTable (LookupTable[LookupTable->Length - 1]).
- flags
- Flags thst determine the behavior of this method. These flags can be OR-ed together.
Example
Run the Leadtools.ImageProcessing.Core.ApplyVoiLookupTableCommand on an image.
Visual Basic | Copy Code |
---|
Public Sub ApplyVoiLookupTableConstructorExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"))
' Prepare the command
Dim i As Integer
Dim pLookupTable() As Short
ReDim pLookupTable(65536)
Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor
For i = 0 To 65536
If (i < 30) Then
pLookupTable(i) = 0
Else
If (i > 630) Then
pLookupTable(i) = 630
Else
pLookupTable(i) = CType(i, Int16)
End If
End If
Next
' fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0
LookupTableDescriptor.EntryBits = 16
Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None)
command.Run(leadImage)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class |
C# | Copy Code |
---|
public void ApplyVoiLookupTableConstructorExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE2.dcm"));
// Prepare the command
int i;
short[] pLookupTable = new short[0x10000];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
for(i = 0; i < 0x10000; i++)
{
if(i < 30)
{
pLookupTable[i] = 0;
}
else
if(i > 630)
pLookupTable[i] = 630;
else
pLookupTable[i] = (short)i;
}
// Fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
LookupTableDescriptor.EntryBits = 16;
ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None);
command.Run(image);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
} |
SilverlightCSharp | Copy Code |
---|
public void ApplyVoiLookupTableConstructorExample(RasterImage image, Stream outStream)
{
// Prepare the command
int i;
short[] pLookupTable = new short[0x10000];
DicomLookupTableDescriptor LookupTableDescriptor = new DicomLookupTableDescriptor();
for(i = 0; i < 0x10000; i++)
{
if(i < 30)
{
pLookupTable[i] = 0;
}
else
if(i > 630)
pLookupTable[i] = 630;
else
pLookupTable[i] = (short)i;
}
// Fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0;
LookupTableDescriptor.EntryBits = 16;
ApplyVoiLookupTableCommand command = new ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None);
command.Run(image);
// Save result image
RasterCodecs codecs = new RasterCodecs();
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
image.Dispose();
} |
SilverlightVB | Copy Code |
---|
Public Sub ApplyVoiLookupTableConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
Dim i As Integer
Dim pLookupTable As Short() = New Short(&H10000 - 1){}
Dim LookupTableDescriptor As DicomLookupTableDescriptor = New DicomLookupTableDescriptor()
i = 0
Do While i < &H10000
If i < 30 Then
pLookupTable(i) = 0
Else
If i > 630 Then
pLookupTable(i) = 630
Else
pLookupTable(i) = CShort(i)
End If
End If
i += 1
Loop
' Fill the LookupTableDescriptor object
LookupTableDescriptor.FirstStoredPixelValueMapped = 0
LookupTableDescriptor.EntryBits = 16
Dim command As ApplyVoiLookupTableCommand = New ApplyVoiLookupTableCommand(LookupTableDescriptor, pLookupTable, VoiLookupTableCommandFlags.None)
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub |
Requirements
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
See Also